package br.com.smachado.calcados.util;

import java.text.MessageFormat;
import java.util.ResourceBundle;
import java.util.logging.Logger;

/**
 * Classe auxiliar para recuperação de label e mensagens do arquivo properties
 * @author gu
 */
public final class PropertiesUtil {
    
    //constutor privado para proteger a classe
    private PropertiesUtil(){}
    
    private static final Logger log = Logger.getLogger(PropertiesUtil.class.getName());

    private static final ResourceBundle resourceBundle = 
            ResourceBundle.getBundle("application");
    
    /**
     * Recupera o valor associado a chave no arquivo de resources
     * 
     * @param chave
     * @return 
     */
    public static String getString(String chave){
        try {
            return resourceBundle.getString(chave);
        } catch (Exception e) {
            log.info(e.toString());
            return chave;
        }
    }
    
    /**
     * Recupera um valor parametrizado associado a chave no arquivo de resources
     * 
     * @param chave
     * @param parametros
     * @return 
     */
    public static String getString(String chave, Object... parametros){
        try {
            return MessageFormat.format(getString(chave), parametros);
        } catch (Exception e) {
            log.info(e.toString());
            return chave;
        }
    }
    
}
